﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;

namespace DataTransferObject
{
    /// <summary>
    /// 
    /// </summary>
    [Serializable]
    public class ScheduleReport
    {
        #region Attributes
        private DataTable _TaskReport = new DataTable();
        private DataTable _SummaryReport = new DataTable();
        #endregion

        #region Properties
        public DataTable TaskReport
        {
            get
            {
                return _TaskReport;
            }
            set
            {
                _TaskReport = value;
            }
        }
        public DataTable SummaryReport
        {
            get
            {
                return _SummaryReport;
            }
            set
            {
                _SummaryReport = value;
            }
        }
        #endregion

        #region Constructors
        public ScheduleReport()
        {
            _TaskReport.Columns.Add("ID", typeof(int));
            _TaskReport.Columns.Add("Name", typeof(String));
            _TaskReport.Columns.Add("Project", typeof(String));
            _TaskReport.Columns.Add("Start", typeof(DateTime));
            _TaskReport.Columns.Add("End", typeof(DateTime));
            _TaskReport.Columns.Add("Due Date", typeof(String));
            _TaskReport.Columns.Add("WorkingTime", typeof(String));
            _TaskReport.Columns.Add("Late", typeof(String));
            _TaskReport.Columns.Add("Constraint Violation", typeof(String));
            _TaskReport.Columns.Add("Suggestion", typeof(String));

            _SummaryReport.Columns.Add("Project", typeof(String));
            _SummaryReport.Columns.Add("Number of Task", typeof(int));
            _SummaryReport.Columns.Add("Work Remaining", typeof(String));
            _SummaryReport.Columns.Add("Late", typeof(String));

        }
        #endregion

        #region Essential Methods
        public Boolean insertTaskReport(int id, String name, String project, DateTime start, DateTime end, String dueDate, String workingTime, String late, String constraintViolation, String suggestion)
        {
            _TaskReport.Rows.Add(id, name, project, start, end, dueDate, workingTime, late, constraintViolation, suggestion);

            return false;
        }

        public Boolean insertSummaryReport(String project, int numberOfTask, String workRemaining, String late)
        {
            _SummaryReport.Rows.Add(project, numberOfTask, workRemaining, late);
            return false;
        }
        #endregion


    }

}
